home *** CD-ROM | disk | FTP | other *** search
- Copyright (c) 1993, 1994 by Eugene G. Crosser
-
- This is a README file for ifgate - Internet/FidoNet gateway
-
- You may do virtually what you wish with this software, as long as
- the explicit reference to its original author is retained:
-
- Eugene G. Crosser <crosser@pccross.msk.su>, 2:5020/230@FidoNet
-
- THIS SOFTWARE IS PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND,
- EITHER EXPRESSED OR IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDER BE
- LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE.
-
- This is a "production" version, it is more or less thoroughly tested.
- But that does not mean that it is error-free. If you think that you
- found a bug, contact the author at crosser@pccross.msk.su.
-
- All programs show version information and a short help message when run
- with "-h" key.
-
- This piece of software was developed to fit into my current mail/news
- environment: Smail 3.1 and Cnews. I honestly beleive that it also
- can be easily used with sendmail, but I had no chance to try it.
- With Zmailer, it works well, and so does with INN in place of Cnews.
-
- Ifmail program converts RFC-822 compliant mail and RFC-1036 compliant
- news to FTN packets. It must run setuid owner of fidonet related stuff.
- The current packet naming is BinkleyTerm, with file/directory names in
- lowcase. Naming conventions are implemented in a separate source file,
- pktname.c, to make modifications easier.
-
- The opposite way program is called iftoss. It expects a non-arcmail
- packet on stdin and passes converted mail messages and/or generated
- newsbatch to sendmail and/or rnews. ATTENTION: if you specify non-zero
- debugging level for iftoss, resultant messages/newsbatches will go to
- the directory "/tmp/ifmail" instead of being fed to sendmail/rnews.
- Sure, you must have /tmp directory writable for ifgate programs (not
- only for debugging).
-
- There are also two frontends: ifpack and ifunpack. Ifpack scans the
- outbound directory and packs *.?ut packets into arcmail file attaches,
- and ifunpack scans the inbound directory, unpacks and removes arcmail
- files, and feeds packets to iftoss (and then removes them, or renames
- if tossing was unsuccessfull). If you have a stat[v]fs() system call on
- your system, ifunpack checks available space before unpacking/tossing.
-
- For ifmail, default is mail mode operation. In mail mode, you must specify
- recepient(s) address(es) in the command line, in the form:
- "Eugene.Crosser@p14.f6.n5020.z2.fidonet.org". When the news mode is in
- effect, i.e. "-n" key is specified or the program is called by alias
- "ifnews", a news article (or batch) is expected on stdin. "-r" key is used
- to specify the destination of the packet, in the form
- "[pNN.]fNN.nNN[.zNN[.domain]]". In news mode, if -r key is omitted, the
- first recepient address is used as routing address, and if it is absent
- too, $NEWSSITE environment variable is used as a routing address.
-
- Ifmail and iftoss programs try to preserve as much information as possible
- in "X-FTN-..." headers and "^ARFC-..." kludges, and restore messages more
- or less accurately to their original form when double-gatewaying.
-
- A dbm-based alias database is supported, so if a message passes from a
- newsgroup to echo, the author's free form name and domain address are
- stored, and when a netmail reply comes from fidonet to that free form name,
- it is passed as a mail message to the remembered domain address.
-
- Several addresses may be specified in the config file, netmail from fidonet
- addressed to any of those addresses is assumed local and resolved through
- the aforementioned database, otherwise the mail will be routed through the
- normal MTA (and presumably packed to some other fidonet node). If there is
- a "To:" line at the beginning of the fido message, address is taken from it
- (ONLY THE FIRST ONE!).
-
- On the other hand, if you make a system mail alias file accessible to the
- iftoss program, it makes attempt to "backward resolve" the "from"
- addresses, that is, if the originating address of the FidoNet message
- matches the right side of some mail alias, the "Reply-To:" header of the
- generated mail/news message will contain "alias@your.domain.name" address.
-
- Message IDs are converted as follows: "^AMSGID: <address> <hexnum>" is
- converted to "<decimalnum>@<address>". If there was no MSGID in the
- fidonet message, messageid of the form <creation-time>@<from-address> is
- generated, so that when a single message is gatewayed in several distinct
- places, it will have the same messageid anyway (for some (little) risk of
- having two different messages with the same messageid). RFC822 Message-IDs
- are converted back when they can be, otherwise the messageid
- "<local>@<domain>" is converted to "^AMSGID <domain> crc32(<local>)".
- When an RFC message is split, unique MSGIDs are generated for all parts
- after the first one. In any case, the original "Message-ID:" header is
- preserved in the "^ARFC-Message-ID:" kludge and used if the message comes
- back to usenet on some (other) gateway.
-
- On the way from news to echo, if the node to which the packet is being
- created is present in the "X-FTN-SEEN-BY:" header(s), the message is not
- included into the packet. SEEN-BY lines in the messages included into
- the packet consist of (1) your node primary address, (2) copy of
- "X-FTN-SEEN-BY:" header(s), (3) ftn addresses that could be parsed
- from the CNews file "$NEWSCTL/log" in the line with the corresponding
- Message-ID. For the latter to work, you should have a Cnews compatible
- log file available for reading and have an "ndbm" package. This works
- with INN too.
-
- ATTENTION: your feed name in the cnews "sys" file should be fNNN.nMMM or
- pNNN.fMMM.nLLL, without zone and domain, see example.
-
- Ifmail does some attempt to process file attaches, but only locally.
- No pass to Internet and back, but if a fileattach netmail message is
- routed from one fidonet node to another, it probably will take the
- attached file with it.
-
- There is also a feature to define "forbidden" groups. If a usenet
- message is crossposted to some of the gated groups _and_ to some
- of the forbidden groups it will not be passed to any fidonet echoes.
- Messages with "Control:" header are not passed to FidoNet too.
-
- Acknowledgements:
-
- Some ideas taken from Fidogate/RFmail package, written by Teemu Torma
- and hacked by Martin Junius. Some modeules taken from INN package.
- Thanks to Michael Bravo <mbravo@tctube.spb.su> (who was the first) and
- many others for testing.
-